﻿//
// Created by HONOR on 2024/3/27.
//
#include <stdio.h>
// 小括号优先所有
// 一元 > 二元 > 三元

// &&>|| > 赋值

// 解题关键：

//从左边的第一个问号开始往后找冒号
//如果过程当中，遇到了其他的问号，那么找冒号的数量加1；

// 小于等于式大于不等于的

int p3() {
    // 三个数的较大值
    int x = 3, y = 2, z = 1;
    int max = x > y ? (x > z ? x : z) : (y < z ? y : z);
    printf("%d", max);


    return 0;

}

int p4(){
    // 优先级从最低级的运算符开始寻找，把整个的表达式分成n个小段
    // 先找赋值运算符
    // 再找 ||
    // 再找&&
    int a = 3,b = 4,c = 5;
    // 这里会产生短路，因为 ||（或只要有一边成立就可以成立，所以产生了短路）
    int num1 = a || b + c && b - c;
    printf("%d\n",num1); // 1

    int num2 = !((a < b) && !c || a < b);

    printf("%d",num2); // 2



    return 0;

}
//int main() {
//    p4();
//    return 0;
//}